using System;
using NUnit.Framework;
using dnA.Math;

namespace dnA.dnAtests.Math 
{
	[TestFixture]
	public class ComplexMath_Float_SqrtTest
	{
		[Test]
		public void Sqrt()
		{
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,1.19209289550780998537e-7f)), new ComplexFloat(2.44140624999999742502e-4f,2.44140624999999742502e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,-1.19209289550780998537e-7f)), new ComplexFloat(2.44140624999999742502e-4f,-2.44140624999999742502e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,5.0e-1f)), new ComplexFloat(5.0e-1f,5.0e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,-5.0e-1f)), new ComplexFloat(5.0e-1f,-5.0e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,1.0f)), new ComplexFloat(7.07106781186547524401e-1f,7.07106781186547524401e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,-1.0f)), new ComplexFloat(7.07106781186547524401e-1f,-7.07106781186547524401e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,2.0f)), new ComplexFloat(1.0f,1.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,-2.0f)), new ComplexFloat(1.0f,-1.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,8.388608e6f)), new ComplexFloat(2.048e3f,2.048e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(0.0f,-8.388608e6f)), new ComplexFloat(2.048e3f,-2.048e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,0.0f)), new ComplexFloat(3.45266983001243544242e-4f,0.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,0.0f)), new ComplexFloat(0.0f,3.45266983001243544242e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,1.19209289550780998537e-7f)), new ComplexFloat(3.79339349128426676895e-4f,1.57127503150776842268e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,-1.19209289550780998537e-7f)), new ComplexFloat(3.79339349128426676895e-4f,-1.57127503150776842268e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,1.19209289550780998537e-7f)), new ComplexFloat(1.57127503150776842268e-4f,3.79339349128426676895e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,-1.19209289550780998537e-7f)), new ComplexFloat(1.57127503150776842268e-4f,-3.79339349128426676895e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,5.0e-1f)), new ComplexFloat(5.00000059604648328104e-1f,4.99999940395358777324e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,-5.0e-1f)), new ComplexFloat(5.00000059604648328104e-1f,-4.99999940395358777324e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,5.0e-1f)), new ComplexFloat(4.99999940395358777324e-1f,5.00000059604648328104e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,-5.0e-1f)), new ComplexFloat(4.99999940395358777324e-1f,-5.00000059604648328104e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,1.0f)), new ComplexFloat(7.07106823333397291369e-1f,7.07106739039700269581e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,-1.0f)), new ComplexFloat(7.07106823333397291369e-1f,-7.07106739039700269581e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,1.0f)), new ComplexFloat(7.07106739039700269581e-1f,7.07106823333397291369e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,-1.0f)), new ComplexFloat(7.07106739039700269581e-1f,-7.07106823333397291369e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,2.0f)), new ComplexFloat(1.00000002980232283178f,9.99999970197678056394e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,-2.0f)), new ComplexFloat(1.00000002980232283178f,-9.99999970197678056394e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,2.0f)), new ComplexFloat(9.99999970197678056394e-1f,1.00000002980232283178f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,-2.0f)), new ComplexFloat(9.99999970197678056394e-1f,-1.00000002980232283178f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,8.388608e6f)), new ComplexFloat(2.04800000000001455192e3f,2.04799999999998544808e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.19209289550780998537e-7f,-8.388608e6f)), new ComplexFloat(2.04800000000001455192e3f,-2.04799999999998544808e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,8.388608e6f)), new ComplexFloat(2.04799999999998544808e3f,2.04800000000001455192e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.19209289550780998537e-7f,-8.388608e6f)), new ComplexFloat(2.04799999999998544808e3f,-2.04800000000001455192e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,0.0f)), new ComplexFloat(7.07106781186547524401e-1f,0.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,0.0f)), new ComplexFloat(0.0f,7.07106781186547524401e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,1.19209289550780998537e-7f)), new ComplexFloat(7.07106781186552548697e-1f,8.42936970217872868201e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,-1.19209289550780998537e-7f)), new ComplexFloat(7.07106781186552548697e-1f,-8.42936970217872868201e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,1.19209289550780998537e-7f)), new ComplexFloat(8.42936970217872868201e-8f,7.07106781186552548697e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,-1.19209289550780998537e-7f)), new ComplexFloat(8.42936970217872868201e-8f,-7.07106781186552548697e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,5.0e-1f)), new ComplexFloat(7.76886987015018653672e-1f,3.21797126452791312368e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,-5.0e-1f)), new ComplexFloat(7.76886987015018653672e-1f,-3.21797126452791312368e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,5.0e-1f)), new ComplexFloat(3.21797126452791312368e-1f,7.76886987015018653672e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,-5.0e-1f)), new ComplexFloat(3.21797126452791312368e-1f,-7.76886987015018653672e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,1.0f)), new ComplexFloat(8.99453719973933636131e-1f,5.55892970251421171992e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,-1.0f)), new ComplexFloat(8.99453719973933636131e-1f,-5.55892970251421171992e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,1.0f)), new ComplexFloat(5.55892970251421171992e-1f,8.99453719973933636131e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,-1.0f)), new ComplexFloat(5.55892970251421171992e-1f,-8.99453719973933636131e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,2.0f)), new ComplexFloat(1.1317139242778694103f,8.83615530875513265758e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,-2.0f)), new ComplexFloat(1.1317139242778694103f,-8.83615530875513265758e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,2.0f)), new ComplexFloat(8.83615530875513265758e-1f,1.1317139242778694103f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,-2.0f)), new ComplexFloat(8.83615530875513265758e-1f,-1.1317139242778694103f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,8.388608e6f)), new ComplexFloat(2.04800006103515715949e3f,2.04799993896484465949e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(5.0e-1f,-8.388608e6f)), new ComplexFloat(2.04800006103515715949e3f,-2.04799993896484465949e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,8.388608e6f)), new ComplexFloat(2.04799993896484465949e3f,2.04800006103515715949e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-5.0e-1f,-8.388608e6f)), new ComplexFloat(2.04799993896484465949e3f,-2.04800006103515715949e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,0.0f)), new ComplexFloat(1.0f,0.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,0.0f)), new ComplexFloat(0.0f,1.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,1.19209289550780998537e-7f)), new ComplexFloat(1.00000000000000177636f,5.96046447753903933894e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,-1.19209289550780998537e-7f)), new ComplexFloat(1.00000000000000177636f,-5.96046447753903933894e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,1.19209289550780998537e-7f)), new ComplexFloat(5.96046447753903933894e-8f,1.00000000000000177636f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,-1.19209289550780998537e-7f)), new ComplexFloat(5.96046447753903933894e-8f,-1.00000000000000177636f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,5.0e-1f)), new ComplexFloat(1.02908551363574612516f,2.42934135878322839091e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,-5.0e-1f)), new ComplexFloat(1.02908551363574612516f,-2.42934135878322839091e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,5.0e-1f)), new ComplexFloat(2.42934135878322839091e-1f,1.02908551363574612516f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,-5.0e-1f)), new ComplexFloat(2.42934135878322839091e-1f,-1.02908551363574612516f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,1.0f)), new ComplexFloat(1.09868411346780996604f,4.55089860562227341304e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,-1.0f)), new ComplexFloat(1.09868411346780996604f,-4.55089860562227341304e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,1.0f)), new ComplexFloat(4.55089860562227341304e-1f,1.09868411346780996604f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,-1.0f)), new ComplexFloat(4.55089860562227341304e-1f,-1.09868411346780996604f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,2.0f)), new ComplexFloat(1.27201964951406896425f,7.8615137775742328607e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,-2.0f)), new ComplexFloat(1.27201964951406896425f,-7.8615137775742328607e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,2.0f)), new ComplexFloat(7.8615137775742328607e-1f,1.27201964951406896425f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,-2.0f)), new ComplexFloat(7.8615137775742328607e-1f,-1.27201964951406896425f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,8.388608e6f)), new ComplexFloat(2.04800012207031613798e3f,2.04799987792969113798e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(1.0f,-8.388608e6f)), new ComplexFloat(2.04800012207031613798e3f,-2.04799987792969113798e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,8.388608e6f)), new ComplexFloat(2.04799987792969113798e3f,2.04800012207031613798e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-1.0f,-8.388608e6f)), new ComplexFloat(2.04799987792969113798e3f,-2.04800012207031613798e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,0.0f)), new ComplexFloat(1.4142135623730950488f,0.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,0.0f)), new ComplexFloat(0.0f,1.4142135623730950488f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,1.19209289550780998537e-7f)), new ComplexFloat(1.41421356237309567684f,4.21468485108939241644e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,-1.19209289550780998537e-7f)), new ComplexFloat(1.41421356237309567684f,-4.21468485108939241644e-8f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,1.19209289550780998537e-7f)), new ComplexFloat(4.21468485108939241644e-8f,1.41421356237309567684f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,-1.19209289550780998537e-7f)), new ComplexFloat(4.21468485108939241644e-8f,-1.41421356237309567684f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,5.0e-1f)), new ComplexFloat(1.42505312406394700604f,1.75432056376293832279e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,-5.0e-1f)), new ComplexFloat(1.42505312406394700604f,-1.75432056376293832279e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,5.0e-1f)), new ComplexFloat(1.75432056376293832279e-1f,1.42505312406394700604f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,-5.0e-1f)), new ComplexFloat(1.75432056376293832279e-1f,-1.42505312406394700604f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,1.0f)), new ComplexFloat(1.45534669022535480812f,3.43560749722512464139e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,-1.0f)), new ComplexFloat(1.45534669022535480812f,-3.43560749722512464139e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,1.0f)), new ComplexFloat(3.43560749722512464139e-1f,1.45534669022535480812f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,-1.0f)), new ComplexFloat(3.43560749722512464139e-1f,-1.45534669022535480812f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,2.0f)), new ComplexFloat(1.55377397403003730734f,6.43594252905582624735e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,-2.0f)), new ComplexFloat(1.55377397403003730734f,-6.43594252905582624735e-1f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,2.0f)), new ComplexFloat(6.43594252905582624735e-1f,1.55377397403003730734f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,-2.0f)), new ComplexFloat(6.43594252905582624735e-1f,-1.55377397403003730734f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,8.388608e6f)), new ComplexFloat(2.04800024414063955191e3f,2.04799975585938955192e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(2.0f,-8.388608e6f)), new ComplexFloat(2.04800024414063955191e3f,-2.04799975585938955192e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,8.388608e6f)), new ComplexFloat(2.04799975585938955192e3f,2.04800024414063955191e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-2.0f,-8.388608e6f)), new ComplexFloat(2.04799975585938955192e3f,-2.04800024414063955191e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,0.0f)), new ComplexFloat(2.89630937574009865995e3f,0.0f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,0.0f)), new ComplexFloat(0.0f,2.89630937574009865995e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,1.19209289550780998537e-7f)), new ComplexFloat(2.89630937574009865995e3f,2.05795158744599330476e-11f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,-1.19209289550780998537e-7f)), new ComplexFloat(2.89630937574009865995e3f,-2.05795158744599330476e-11f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,1.19209289550780998537e-7f)), new ComplexFloat(2.05795158744599330476e-11f,2.89630937574009865995e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,-1.19209289550780998537e-7f)), new ComplexFloat(2.05795158744599330476e-11f,-2.89630937574009865995e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,5.0e-1f)), new ComplexFloat(2.89630937574009994617e3f,8.63167457503109387674e-5f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,-5.0e-1f)), new ComplexFloat(2.89630937574009994617e3f,-8.63167457503109387674e-5f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,5.0e-1f)), new ComplexFloat(8.63167457503109387674e-5f,2.89630937574009994617e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,-5.0e-1f)), new ComplexFloat(8.63167457503109387674e-5f,-2.89630937574009994617e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,1.0f)), new ComplexFloat(2.89630937574010380482e3f,1.72633491500621647541e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,-1.0f)), new ComplexFloat(2.89630937574010380482e3f,-1.72633491500621647541e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,1.0f)), new ComplexFloat(1.72633491500621647541e-4f,2.89630937574010380482e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,-1.0f)), new ComplexFloat(1.72633491500621647541e-4f,-2.89630937574010380482e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,2.0f)), new ComplexFloat(2.89630937574011923946e3f,3.45266983001241455129e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,-2.0f)), new ComplexFloat(2.89630937574011923946e3f,-3.45266983001241455129e-4f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,2.0f)), new ComplexFloat(3.45266983001241455129e-4f,2.89630937574011923946e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,-2.0f)), new ComplexFloat(3.45266983001241455129e-4f,-2.89630937574011923946e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,8.388608e6f)), new ComplexFloat(3.18212909881351640544e3f,1.31808102995063321546e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(8.388608e6f,-8.388608e6f)), new ComplexFloat(3.18212909881351640544e3f,-1.31808102995063321546e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,8.388608e6f)), new ComplexFloat(1.31808102995063321546e3f,3.18212909881351640544e3f), 1e-7f);
			TestHelper.TestRelativeError(ComplexMath.Sqrt(new ComplexFloat(-8.388608e6f,-8.388608e6f)), new ComplexFloat(1.31808102995063321546e3f,-3.18212909881351640544e3f), 1e-7f);
		}
	}
}
